Skip to content

[Veeam] Revert CCF public-preview connector (PR #14462); add NuGet packageSourceMapping; bump 3.1.1 - #14804

Open
vladyslav-zhadan wants to merge 3 commits into
Azure:masterfrom
Veeam-Rnd-DataManagement:revert-veeam-ccf-parsers-pr14462
Open

[Veeam] Revert CCF public-preview connector (PR #14462); add NuGet packageSourceMapping; bump 3.1.1#14804
vladyslav-zhadan wants to merge 3 commits into
Azure:masterfrom
Veeam-Rnd-DataManagement:revert-veeam-ccf-parsers-pr14462

Conversation

@vladyslav-zhadan

@vladyslav-zhadan vladyslav-zhadan commented Jul 31, 2026

Copy link
Copy Markdown

Change(s):

  • Revert the CCF (Codeless Connector Framework) public-preview content added in
    PR Add Veeam data connector - Public Preview #14462: removes the Veeam_CCF/ custom tables, Veeam_DCR.json,
    Veeam_PollerConfig.json, Veeam_ConnectorDefinition.json, and the
    *V2AliasFunction parsers. Solutions/Veeam/ is restored to its last
    Veeam-authored state (byte-for-byte).
  • Add Solutions/Veeam/Data Connectors/AzureFunctionVeeam/NuGet.Config with
    packageSourceMapping pinning the private packages (Veeam.*, 00000000-*)
    to the private feed, plus a * -> nuget.org catch-all; pin those packages to
    exact versions [8.1.0.69] / [12.1.0.364]. This supersedes [Veeam Connector] Added NuGet.Config with packageSourceMapping #14717, which
    proposed the same hardening but whose config broke dotnet restore on a clean
    cache (no * catch-all → NU1100); the catch-all here fixes that.
  • Regenerate the solution package via the V3 tool; bump version 3.1.0 -> 3.1.1;
    add ReleaseNotes entry.

Reason for Change(s):

  • The CCF public-preview content was not authored by Veeam and introduced _CL
    KQL alias functions whose names collide with the ingestion tables, causing
    FunctionTableConflict errors at query time. This reverts the solution to the
    working Veeam-authored Azure Functions connector.
  • The NuGet.Config hardens the function-app build against dependency-confusion:
    the private Veeam SDK packages can only ever resolve from the private feed,
    never from public nuget.org. Thanks to the reporters in [Veeam Connector] Added NuGet.Config with packageSourceMapping #14717 for surfacing
    the dependency-confusion issue.

Version Updated:

  • Yes — 3.1.0 -> 3.1.1.

Testing Completed:

  • Yes. dotnet restore verified on a clean/empty NuGet cache (private packages
    resolve only from the private feed). Solution repackaged with
    Tools/Create-Azure-Sentinel-Solution/V3; mainTemplate validated and confirmed
    CCF-free (0 _CL alias functions, 176 resources).

Checked that the validations are passing and have addressed any issues that are present:

  • Yes.

Restores Solutions/Veeam/ to be9adc0 (last Veeam-authored state,
2025-10-15), reverting the entire CCF public-preview connector introduced by
PR Azure#14462 (authored by v-hectorarv@microsoft.com, 11 commits). The resulting
tree is byte-for-byte identical to be9adc0.

Removed: 6 CCF tables, Veeam_DCR.json, Veeam_PollerConfig.json,
Veeam_ConnectorDefinition.json, the V2 alias parsers (source of the
VeeamMalwareEvents_CL FunctionTableConflict), testParameters.json, and the
regenerated mainTemplate.json / package zips.

Reverted commits:
  ac8d4b6  Veeam Custom tables added to Veeam_CCF
  f74c0b8  Add Veeam data connector - Public Preview CCF connector (6 streams)
  f73d9a6  Veeam - fix KQL error
  1aa83e1  Fix Internal Review comments
  14e94de  Refactor code structure
  926a4d8  PR Comments resolved
  b7e53ab  PR Comment resolved - package
  ad361e8  PR Comments solved - remove package
  4f7025d  Fix internal review comments. Add parsers
  f0d1f0e  fixing comment for the PR
  9ab7098  fixing diferences
…onfusion

Pins the private Veeam SDK packages (Veeam.AC.VBR.ApiClient and internal GUID
package 00000000-94D5-4BF9-8A50-7BD9929A0850) to the private feed via NuGet
packageSourceMapping so they can never be resolved from public nuget.org.

- Add Solutions/Veeam/Data Connectors/AzureFunctionVeeam/NuGet.Config with a
  "*" -> nuget.org catch-all plus Veeam.* / 00000000-* bound exclusively to
  veeam-private (private feed URL supplied per-environment via VEEAM_NUGET_FEED,
  not committed). Verified dotnet restore succeeds on a clean/empty cache.
- Pin the two private packages to exact versions ([8.1.0.69], [12.1.0.364]).
…connector)

Regenerated via Tools/Create-Azure-Sentinel-Solution/V3/createSolutionV3.ps1
after reverting the CCF public-preview content and applying the NuGet
packageSourceMapping fix. Bumps 3.1.0 -> 3.1.1 (must exceed the published 3.1.0).

- mainTemplate.json / createUiDefinition.json / 3.1.1.zip contain only the
  Veeam-authored function-app connector, parsers, workbooks, analytic rules,
  playbooks and watchlists. No CCF tables, DCR, poller, connector definition,
  or _CL alias parser functions remain (FunctionTableConflict source removed).
- ReleaseNotes.md: added 3.1.1 entry describing the CCF removal + NuGet fix.
@vladyslav-zhadan
vladyslav-zhadan marked this pull request as ready for review July 31, 2026 16:01
@vladyslav-zhadan
vladyslav-zhadan requested review from a team as code owners July 31, 2026 16:01
@vladyslav-zhadan

Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree company="Veeam Software"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant